# 主要是一些工具类在这里放着 比如加密
import bcrypt,hashlib

class EncryptionUtils(object):
    def __init__(self):
        self.cust_salt = bcrypt.gensalt()
    def get_salt(self):
        return self.cust_salt
    def hash_password(self,password):
        hashed_password = bcrypt.hashpw(password.encode(), self.cust_salt)
        return hashed_password


    # 数据库中存放的是加密后的password 传进来的是原文
    def check_password(self,password, sql_password):
        # 验证密码是否匹配
        return bcrypt.checkpw(password.encode(), sql_password)
    def hash_password_sha256(self,token):
        # 使用 SHA-256 哈希算法
        ret_token = hashlib.sha256(token.encode()).hexdigest()
        return ret_token

    # 密码用这个好点不可以被解密
    def hash_token_sha256(self,token):
        # 使用 SHA-256 哈希算法
        ret_token = hashlib.sha256(token.encode()).hexdigest()
        return ret_token

if __name__ == '__main__':

    ## Python$0320 ---- b'$2b$12$HLaCllGwmjNDrZU373ejHeSXtHhtQHGPi/hqdReZFXWb3491JWAQC'
    print(EncryptionUtils().hash_token_sha256("Python$0320"))
encryption_util = EncryptionUtils()